//-------------------------------------------------------------------
//	Copyright (c) 2012-2014 Zhirnov Andrey
//	This file is part of the "UXGEN-ES" project.
//	See copyright notice in "Engine.h".
//-------------------------------------------------------------------

#pragma once

#include "UI/Types/ColorStyle.h"

namespace Engine
{
namespace UI
{

	//
	// UI Font
	//
	
	struct UIFont : Graphics::FontBatch
	{
		friend struct ::MetaData::UIFontCfg;

	// variables;
	private:
		ColorStyle	_style;


	// methods
	public:
		UIFont ()
		{}

		void SetStyle (ColorStyle::EType type)
		{
			FontBatch::SetColor( _style[ type ] );
		}

		void SetColorStyle (const ColorStyle &cs)
		{
			_style = cs;
			SetStyle( ColorStyle::IDLE );
		}
		
		void Clear ()
		{
			FontBatch::Clear();
			_style = ColorStyle();
		}


	private:
		Self & SetColor (const color4u &) { return *this; }
	};

	//typedef Graphics::FontBatch		UIFont;


}	// UI
}	// Engine